import router from '@/router/index.js'
import store from '@/store/index.js'
// 对路由跳转做拦截
// 前置路由守卫-在页面跳转前做拦截
router.beforeEach(async(to, from, next) => {
  // to:去哪里的路由信息  from:从哪里来的路由信息  next方法: 控制能跳转
  // 注意，在vue文件中，可以通过this.$store.state.user,访问数据但是在js文件不可以通过this,this不是指向组件
  // 白名单路径允许直接访问
  // if(to.path === '/login' || to.path === '/learnVuex' || to.path === '/404')
  if (['/login', '/learnVuex', '/404'].includes(to.path)) {
    return next()
  }
  // 根据token做跳转判断
  if (store.state.user.token) {
    // 允许页面跳转
    // 获取用户信息为空
    if (!store.state.user.userInfo.userId) {
      await store.dispatch('user/getUserInfo')
    }
    next()
  } else {
    next('/login')
  }
})
// 后置路由守卫-在页面跳转后做拦截
router.afterEach((to, from) => {

})
